package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.SysDept;
import com.ruoyi.system.domain.Type;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Ʒ����� ���ݲ�
 *
 * @author ruoyi
 * @date 2019-04-22
 */
public interface TypeMapper
{
	/**
	 * ��ѯƷ�������Ϣ
	 *
	 * @param typeId Ʒ�����ID
	 * @return Ʒ�������Ϣ
	 */
	public Type selectTypeById(Long typeId);

	/**
	 * ��ѯƷ������б�
	 *
	 * @param type Ʒ�������Ϣ
	 * @return Ʒ����𼯺�
	 */
	public List<Type> selectTypeList(Type type);

	/**
	 * ����Ʒ�����
	 *
	 * @param type Ʒ�������Ϣ
	 * @return ���
	 */
	public int insertType(Type type);

	/**
	 * �޸�Ʒ�����
	 *
	 * @param type Ʒ�������Ϣ
	 * @return ���
	 */
	public int updateType(Type type);

	/**
	 * ɾ��Ʒ�����
	 *
	 * @param typeId Ʒ�����ID
	 * @return ���
	 */
	public int deleteTypeById(Long typeId);

	/**
	 * ����ɾ��Ʒ�����
	 *
	 * @param typeIds ��Ҫɾ��������ID
	 * @return ���
	 */
	public int deleteTypeByIds(String[] typeIds);

	Type checkTypeNameUnique(@Param("typeName") String typeName, @Param("parentId") Long parentId);

    int selectTypeCount(Type type);

    int checkTypeExistInventory(Long typeId);
}